CC = gcc
CCC = riscv64-linux-gnu-gcc
#CFLAGS = -Wall -Werror
BUILD_DIR = ./build
RESULT_DIR = ./result

gdb:run
	@gdb --args $(BUILD_DIR)/main ./temp/add-riscv32-nemu.elf

run:main.c test
	@mkdir -p $(RESULT_DIR)
	@$(CC) $(CFLAGS) -g $< -o $(BUILD_DIR)/main
	@$(BUILD_DIR)/main $(BUILD_DIR)/x86-32 > $(RESULT_DIR)/x86-32.txt
	@$(BUILD_DIR)/main ./temp/add-riscv32-nemu.elf
	@$(BUILD_DIR)/main $(BUILD_DIR)/riscv-32.o > $(RESULT_DIR)/riscv32.txt

test:test.c 
	@mkdir -p $(BUILD_DIR)
	@$(CC) -m32 $< -o $(BUILD_DIR)/x86-32
	@$(CC) $< -o $(BUILD_DIR)/x86-64
	@$(CCC) $< -o $(BUILD_DIR)/riscv-64
	@$(CCC) -march=rv32im -mabi=ilp32 $< -c -o $(BUILD_DIR)/riscv-32.o

clean:
	rm -rf $(BUILD_DIR) $(RESULT_DIR)
